package com.cs.beneficios.business.entity;
import com.cs.beneficios.business.model.AreaVO;
import com.cs.beneficios.business.model.AuditoriaVO;
import com.cs.beneficios.business.model.SubProgramaVO;
import com.cs.beneficios.common.ConnectionFactory;
import com.cs.paoyer.administration.business.model.UserVO;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Collection;
import java.util.LinkedList;
import java.util.ArrayList;

public class AuditoriaDAO 
{
  /**
   * Conexion a la base de datos.
   */
  private Connection conn = null;
  private ConnectionFactory cf;

  /**
   * Constructor que inicializa la conexion con la base de datos.
   * @param conn Conexion con la base de datos.
   */
   
  public AuditoriaDAO(ConnectionFactory cf ) {
    this.cf = cf;
    try{
      this.conn = this.cf.getConnection();
    }catch(SQLException e){}
  }
  
  public ResultSet getUsers(String cedula, String descripcion) throws SQLException
  {
    String query = "SELECT codigo, nombre, SUBSTR(descripcion,1,30) descripcion "+
                   "FROM paoyer.TCS_USUARIO WHERE campo_a1 IS NULL ";
    if(cedula != null && !cedula.equalsIgnoreCase(""))
    {
      query += "AND nombre = '"+cedula+"' ";
    }
    if(descripcion != null && !descripcion.equalsIgnoreCase(""))
    {
      query += "AND descripcion like UPPER('%"+descripcion+"%') ";
    }
//    System.out.println(query);
    ResultSet rs = cf.getRecordsRset(query,null,conn);
    if(rs != null)
      return rs;
    else 
      return null;
  }
  
  public Collection getReporte(String tabla, String fechaCreaDesde, 
  								String fechaMofificaDesde, String fechaCreaHasta, 
  								String fechaMofificaHasta, String usuarioCrea, 
  								String usuarioModifica) throws SQLException
  {
    String query  = "SELECT ";
    query += " tabla.USUARIO_CREA, TO_CHAR(tabla.FECHA_CREA,'DD/MM/RRRR') FECHA_CREA ,"+
             " tabla.TERMINAL_CREA, tabla.USUARIO_MODIFICA, "+
             " TO_CHAR(tabla.FECHA_MODIFICA,'DD/MM/RRRR') FECHA_MODIFICA, "+ 
             " tabla.TERMINAL_MODIFICA, ";
                
    if(tabla.equals("TCS_BEN_BENEFICIARIO"))
    {
       query += " tabla.CODIGO, tabla.TIPO_DOCUMENTO,  tabla.NUMERO_DOCUMENTO, tabla.PRIMER_NOMBRE, "+
                " tabla.SEGUNDO_NOMBRE, tabla.PRIMER_APELLIDO, tabla.SEGUNDO_APELLIDO ";
                
       query += "FROM "+tabla+" tabla";
       
       query += " WHERE ROWNUM <= 100 ";
       
    }else if(tabla.equals("TCS_BEN_PROGRAMA"))
    {
        query += " tabla.CODIGO, area.NOMBRE area, usu.NOMBRE usuario, "+
                " tabla.NOMBRE ";
       
       query += "FROM "+tabla+" tabla, TCS_BEN_AREA area, paoyer.TCS_USUARIO usu ";
       
       query += " WHERE ROWNUM <= 100 "+
                " AND area.CODIGO = tabla.AREA_CODIGO "+
                " AND usu.CODIGO = tabla.USU_CODIGO ";
       
    }else if(tabla.equals("TCS_BEN_SUBPROGRAMA"))
    {                
       query += " tabla.CODIGO, tabla.NOMBRE, "+
                " DECODE(tabla.VALIDAR_CONTRA_ESTUD,'S''Si','N','No') VALIDAR_CONTRA_ESTUD, "+
                " DECODE(tabla.VALIDAR_CONTRA_SISBEN,'S''Si','N','No') VALIDAR_CONTRA_SISBEN, "+
                " nvl(tabla.VALOR_UNITARIO_BENEFICIO,0) VALOR_UNITARIO_BENEFICIO, "+
                " pro.NOMBRE programa, usu.NOMBRE usuario, area.NOMBRE area ";
       
       query += "FROM "+tabla+" tabla, TCS_BEN_PROGRAMA pro, TCS_BEN_AREA area, paoyer.TCS_USUARIO usu ";
       
       query += " WHERE ROWNUM <= 100 "+
                " AND area.CODIGO = tabla.AREA_CODIGO "+
                " AND usu.CODIGO = tabla.USU_CODIGO "+
                " AND pro.CODIGO = tabla.PRG_CODIGO ";
                
    }else if(tabla.equals("TCS_BEN_SEDE"))
    {
       query += " tabla.CODIGO, tabla.NOMBRE, "+
                " tabla.CARACTER, tabla.TIPO, vflex.NOMBRE municipio ";
               
       query += "FROM "+tabla+" tabla, paoyer.TCS_VALOR_FLEXIBLE vflex ";
       
       query += " WHERE ROWNUM <= 100 "+
                " AND vflex.CODIGO = tabla.VFL_CODIGO_MUNICIPIO ";
       
    }else if(tabla.equals("TCS_BEN_BENEFICIO_OTORGADO"))
    {
       query += " tabla.CODIGO, TO_CHAR(tabla.FECHA_BENEFICIO,'DD/MM/RRRR') FECHA_BENEFICIO, "+
                " subpro.NOMBRE subprograma, "+
                " ben.NUMERO_DOCUMENTO ||' | '|| ben.PRIMER_NOMBRE ||' '|| "+
                " ben.SEGUNDO_NOMBRE ||' '||  ben.PRIMER_APELLIDO ||' '|| "+
                " ben.SEGUNDO_APELLIDO beneficiario, sede.NOMBRE sede ";
                
       query += "FROM "+tabla+" tabla, TCS_BEN_BENEFICIARIO ben, TCS_BEN_SEDE sede, TCS_BEN_SUBPROGRAMA subpro ";
       
       query += " WHERE ROWNUM <= 100 "+
                " AND ben.CODIGO = tabla.BEN_CODIGO "+
                " AND subpro.CODIGO = tabla.SBPR_CODIGO "+
                " AND sede.CODIGO = tabla.SEDE_CODIGO ";
                
    }else if(tabla.equals("TCS_BEN_SUBP_ATR_BENEFICIARIO"))
    {        
       query += " tabla.CODIGO, tabla.NOMBRE, "+
                " DECODE(tabla.TIPO_DATO,'A','Alfanumerico','F','Fecha','N','Numerico','L','Solo letras') TIPO_DATO, "+
                " DECODE(tabla.OBLIGATORIO,'S','Si','N','No') OBLIGATORIO, "+
                " subpro.NOMBRE subprograma ";
       
       query += "FROM "+tabla+" tabla, TCS_BEN_SUBPROGRAMA subpro ";
       
       query += " WHERE ROWNUM <= 100 "+
                " AND subpro.CODIGO = tabla.SBPR_CODIGO ";
       
    }else if(tabla.equals("TCS_BEN_SUBPROGRAMA_SEDE"))
    {       
       query += " tabla.CODIGO, TO_CHAR(tabla.DESDE,'DD/MM/RRRR') DESDE, "+
                " TO_CHAR(tabla.HASTA,'DD/MM/RRRR') HASTA, "+
                " tabla.NUMERO_BENEFICIO, tabla.NUMERO_BEN_DISPONIBLE, "+
                " sede.NOMBRE sede, subpro.NOMBRE subprograma ";
       
       query += "FROM "+tabla+" tabla, TCS_BEN_SEDE sede, TCS_BEN_SUBPROGRAMA subpro ";
       
       query += " WHERE ROWNUM <= 100 "+
                " AND subpro.CODIGO = tabla.SBPR_CODIGO "+
                " AND sede.CODIGO = tabla.SEDE_CODIGO ";
    }
    
	if(!fechaCreaDesde.equalsIgnoreCase("") && !fechaCreaHasta.equalsIgnoreCase(""))
	{
		query += " AND tabla.FECHA_CREA BETWEEN to_date('"+fechaCreaDesde+"','rrrr-mm-dd') AND to_date('"+fechaCreaHasta+"','rrrr-mm-dd')";
	}
	if(!fechaMofificaDesde.equalsIgnoreCase("") && !fechaMofificaHasta.equalsIgnoreCase(""))
	{
		query += " AND tabla.FECHA_MODIFICA BETWEEN to_date('"+fechaMofificaDesde+"','rrrr-mm-dd') AND to_date('"+fechaMofificaHasta+"','rrrr-mm-dd')";
	}
    if(!usuarioCrea.equalsIgnoreCase(""))
    {
      query += " AND tabla.USUARIO_CREA = '"+usuarioCrea+"' ";
    }
    if(!usuarioModifica.equalsIgnoreCase(""))
    {
      query += " AND tabla.USUARIO_MODIFICA = '"+usuarioModifica+"' ";
    }
    
    query += " ORDER BY tabla.codigo DESC ";
    //System.out.println(query);
    Collection reporte = new LinkedList();
    AuditoriaVO objReporte = null;
    
    ResultSet rs = cf.getRecordsRset(query,null,conn);
    
    while(rs.next())
    {
      objReporte = new AuditoriaVO();
      objReporte.setUsuarioCrea(rs.getString("USUARIO_CREA"));
      objReporte.setFechaCrea(rs.getString("FECHA_CREA"));
      objReporte.setTerminalCrea(rs.getString("TERMINAL_CREA"));
      objReporte.setUsuarioModifica(rs.getString("USUARIO_MODIFICA"));
      objReporte.setFechaModifica(rs.getString("FECHA_MODIFICA"));
      objReporte.setTerminalModifica(rs.getString("TERMINAL_MODIFICA"));
        if(tabla.equals("TCS_BEN_BENEFICIARIO"))
        {
            objReporte.setColumna1(rs.getString("CODIGO"));
            objReporte.setColumna2(rs.getString("TIPO_DOCUMENTO"));
            objReporte.setColumna3(rs.getString("NUMERO_DOCUMENTO"));
            objReporte.setColumna4(rs.getString("PRIMER_NOMBRE"));
            objReporte.setColumna5(rs.getString("SEGUNDO_NOMBRE"));
            objReporte.setColumna6(rs.getString("PRIMER_APELLIDO"));
            objReporte.setColumna7(rs.getString("SEGUNDO_APELLIDO"));
        }else if(tabla.equals("TCS_BEN_PROGRAMA"))
        {
            objReporte.setColumna1(rs.getString("CODIGO"));
            objReporte.setColumna2(rs.getString("NOMBRE"));
            objReporte.setColumna4(rs.getString("AREA"));
            objReporte.setColumna5(rs.getString("USUARIO"));
        }else if(tabla.equals("TCS_BEN_SUBPROGRAMA"))
        {
            objReporte.setColumna1(rs.getString("CODIGO"));
            objReporte.setColumna2(rs.getString("NOMBRE"));
            objReporte.setColumna3(rs.getString("PROGRAMA"));
            objReporte.setColumna4(rs.getString("USUARIO"));
            objReporte.setColumna5(rs.getString("AREA"));
            objReporte.setColumna6(rs.getString("VALIDAR_CONTRA_ESTUD"));
            objReporte.setColumna7(rs.getString("VALIDAR_CONTRA_SISBEN"));
            objReporte.setColumna8(rs.getString("VALOR_UNITARIO_BENEFICIO"));
            
        }else if(tabla.equals("TCS_BEN_SEDE"))
        {
            objReporte.setColumna1(rs.getString("CODIGO"));
            objReporte.setColumna2(rs.getString("NOMBRE"));
            objReporte.setColumna3(rs.getString("MUNICIPIO"));
            objReporte.setColumna4(rs.getString("CARACTER"));
            objReporte.setColumna5(rs.getString("TIPO"));
            
        }else if(tabla.equals("TCS_BEN_BENEFICIO_OTORGADO"))
        {
            objReporte.setColumna1(rs.getString("CODIGO"));
            objReporte.setColumna2(rs.getString("SUBPROGRAMA"));
            objReporte.setColumna3(rs.getString("BENEFICIARIO"));
            objReporte.setColumna4(rs.getString("SEDE"));
            objReporte.setColumna5(rs.getString("FECHA_BENEFICIO"));
            
        }else if(tabla.equals("TCS_BEN_SUBP_ATR_BENEFICIARIO"))
        {
            objReporte.setColumna1(rs.getString("CODIGO"));
            objReporte.setColumna2(rs.getString("NOMBRE"));
            objReporte.setColumna3(rs.getString("SUBPROGRAMA"));
            objReporte.setColumna4(rs.getString("TIPO_DATO"));
            objReporte.setColumna5(rs.getString("OBLIGATORIO"));
            
        }else if(tabla.equals("TCS_BEN_SUBPROGRAMA_SEDE"))
        {
            objReporte.setColumna1(rs.getString("CODIGO"));
            objReporte.setColumna2(rs.getString("SEDE"));
            objReporte.setColumna3(rs.getString("SUBPROGRAMA"));
            objReporte.setColumna4(rs.getString("DESDE"));
            objReporte.setColumna5(rs.getString("HASTA"));
            objReporte.setColumna6(rs.getString("NUMERO_BENEFICIO"));
            objReporte.setColumna7(rs.getString("NUMERO_BEN_DISPONIBLE"));
        }
        reporte.add(objReporte);
    }
    
    return reporte;
  
  }
  
  public Long getCantidadRegistros(String tabla, String fechaCreaDesde, 
							   String fechaMofificaDesde, String fechaCreaHasta, 
							   String fechaMofificaHasta, String usuarioCrea, 
							   String usuarioModifica) throws SQLException
  {
	String query  = "SELECT COUNT(1) Cantidad ";
                  
	if(tabla.equals("TCS_BEN_BENEFICIARIO"))
	{                
	   query += "FROM "+tabla+" tabla";
         
	   query += " WHERE 1 = 1 ";
         
	}else if(tabla.equals("TCS_BEN_PROGRAMA"))
	{
	   query += "FROM "+tabla+" tabla, TCS_BEN_AREA area, paoyer.TCS_USUARIO usu ";
         
	   query += " WHERE 1 = 1 "+
				" AND area.CODIGO = tabla.AREA_CODIGO "+
				" AND usu.CODIGO = tabla.USU_CODIGO ";
         
	}else if(tabla.equals("TCS_BEN_SUBPROGRAMA"))
	{                        
	   query += "FROM "+tabla+" tabla, TCS_BEN_PROGRAMA pro, TCS_BEN_AREA area, paoyer.TCS_USUARIO usu ";
         
	   query += " WHERE 1 = 1 "+
				" AND area.CODIGO = tabla.AREA_CODIGO "+
				" AND usu.CODIGO = tabla.USU_CODIGO "+
				" AND pro.CODIGO = tabla.PRG_CODIGO ";
                  
	}else if(tabla.equals("TCS_BEN_SEDE"))
	{
	  query += "FROM "+tabla+" tabla, paoyer.TCS_VALOR_FLEXIBLE vflex ";
         
	   query += " WHERE 1 = 1 "+
				" AND vflex.CODIGO = tabla.VFL_CODIGO_MUNICIPIO ";
         
	}else if(tabla.equals("TCS_BEN_BENEFICIO_OTORGADO"))
	{        
	   query += "FROM "+tabla+" tabla, TCS_BEN_BENEFICIARIO ben, TCS_BEN_SEDE sede, TCS_BEN_SUBPROGRAMA subpro ";
         
	   query += " WHERE 1 = 1 "+
				" AND ben.CODIGO = tabla.BEN_CODIGO "+
				" AND subpro.CODIGO = tabla.SBPR_CODIGO "+
				" AND sede.CODIGO = tabla.SEDE_CODIGO ";
                  
	}else if(tabla.equals("TCS_BEN_SUBP_ATR_BENEFICIARIO"))
	{        
	   query += "FROM "+tabla+" tabla, TCS_BEN_SUBPROGRAMA subpro ";
         
	   query += " WHERE 1 = 1 "+
				" AND subpro.CODIGO = tabla.SBPR_CODIGO ";
         
	}else if(tabla.equals("TCS_BEN_SUBPROGRAMA_SEDE"))
	{       
	   query += "FROM "+tabla+" tabla, TCS_BEN_SEDE sede, TCS_BEN_SUBPROGRAMA subpro ";
         
	   query += " WHERE 1 = 1 "+
				" AND subpro.CODIGO = tabla.SBPR_CODIGO "+
				" AND sede.CODIGO = tabla.SEDE_CODIGO ";
	}
      
	if(!fechaCreaDesde.equalsIgnoreCase("") && !fechaCreaHasta.equalsIgnoreCase(""))
	{
		query += " AND tabla.FECHA_CREA BETWEEN to_date('"+fechaCreaDesde+"','rrrr-mm-dd') AND to_date('"+fechaCreaHasta+"','rrrr-mm-dd')";
	}
	if(!fechaMofificaDesde.equalsIgnoreCase("") && !fechaMofificaHasta.equalsIgnoreCase(""))
	{
		query += " AND tabla.FECHA_MODIFICA BETWEEN to_date('"+fechaMofificaDesde+"','rrrr-mm-dd') AND to_date('"+fechaMofificaHasta+"','rrrr-mm-dd')";
	}
	if(!usuarioCrea.equalsIgnoreCase(""))
	{
	  query += " AND tabla.USUARIO_CREA = '"+usuarioCrea+"' ";
	}
	if(!usuarioModifica.equalsIgnoreCase(""))
	{
	  query += " AND tabla.USUARIO_MODIFICA = '"+usuarioModifica+"' ";
	}
      
	ResultSet rst = null;
	rst = cf.getRecordsRset(query, null, conn);
      
	rst.next();
      
	return new Long(rst.getLong("Cantidad"));
    
  }
  
  ////////////////////
  public Collection SelectSecretaria(int iCodeUser, String strGroupUser) throws SQLException 
  {
      String query = null;
      if(strGroupUser.equals("ADMINISTRADOR GENERAL") || strGroupUser.equals("SUPER USUARIO"))
      {
        query = "SELECT distinct area.CODIGO CODIGO, area.NOMBRE NOMBRE "+
                "FROM tcs_ben_area area "+
                "WHERE area.AREA_CODIGO is null ";
      }else
      {
        query = "SELECT distinct area.CODIGO CODIGO, area.NOMBRE NOMBRE "+
                "FROM tcs_ben_area area, paoyer.tcs_usuario usu "+
                "WHERE usu.CAMPO_N1 = area.CODIGO ";
      }
    
      if(!strGroupUser.equals("ADMINISTRADOR GENERAL") && !strGroupUser.equals("SUPER USUARIO"))
      {
        query += "AND usu.CODIGO = "+iCodeUser;
      }
           
      query += " ORDER BY area.NOMBRE";
                           
      ResultSet rst = null;
      //System.out.println(query); 
      ArrayList secretarias1 = new ArrayList();
      rst = cf.getRecordsRset(query,null,conn);
      AreaVO areas = null;
      while (rst.next()) 
      {
          areas = new AreaVO();
          
          areas.setCodearea(rst.getString("CODIGO"));
          areas.setNombre(rst.getString("NOMBRE"));
          
          secretarias1.add(areas);
          areas=null;
          
      }
      rst.close();
      return secretarias1;
  }
  
  public Collection getUserAdm(String strNameGroup, Long lCodeArea, String strNameUser, String strFind) throws SQLException
  {
    String query = "SELECT usu.CODIGO, usu.NOMBRE, usu.DESCRIPCION "+
                   "FROM paoyer.tcs_usuario usu "+
                   "WHERE Fcs_Val_Est_Vigencia(usu.VIGENCIA) = 'S' ";
    
    String strPrueba = strFind;
    
    if(lCodeArea != null && lCodeArea.longValue() != 0)
    {
      query += "AND usu.CAMPO_N1 = "+lCodeArea.longValue();
    }else
    {
      if(!strNameGroup.equals("ADMINISTRADOR GENERAL") && !strNameGroup.equals("SUPER USUARIO"))
      {
        query += "AND usu.CAMPO_N1 = "+lCodeArea.longValue();
      }else
      {
        if(!strNameGroup.equals("ADMINISTRADOR GENERAL") && !strNameGroup.equals("SUPER USUARIO"))
        {
          if(lCodeArea != null && lCodeArea.longValue() != 0)
          {
            query += "AND usu.CAMPO_N1 = "+lCodeArea.longValue();
          } 
        }
      }
    }
    
    
    
    if(strFind != null && strFind.equals("nombre"))
    {
      if(strNameUser != null && !strNameUser.equals(""))
      {
        query += " AND usu.NOMBRE like upper('"+strNameUser+"%')";
      }
    }else
    {
      if(strNameUser != null && !strNameUser.equals(""))
      {
        query += " AND usu.DESCRIPCION like upper('%"+strNameUser+"%')";
      }
    }
    query += " ORDER BY NOMBRE";
    
    //System.out.println(query);                      
    ResultSet rs = null;
    ArrayList userAdmin = new ArrayList();
    rs = cf.getRecordsRset(query,null,conn);
    UserVO objUserVO = null;
    while ( rs.next() ) 
    {
        objUserVO = new UserVO();
        
        objUserVO.setCode(new Long(rs.getInt("CODIGO")));
        objUserVO.setName(rs.getString("NOMBRE"));
        objUserVO.setDescription(rs.getString("DESCRIPCION"));
        
        userAdmin.add(objUserVO);
        objUserVO = null;        
    }
    rs.close();
    return userAdmin;
  }
  
  public Collection getReportControl(SubProgramaVO criterea) throws SQLException
  {
    String query = "select area.NOMBRE SECRETARIA, prog.NOMBRE NOMPRO, sub.NOMBRE NOMSUB, "+
                   "(select count(1) from tcs_ben_beneficio_otorgado bot "+
                   "where bot.SBPR_CODIGO = sub.CODIGO "+
                   "and bot.USUARIO_CREA = '"+criterea.getNombreUsuario()+"') CANTIDAD "+
                   "from tcs_ben_programa prog, tcs_ben_subprograma sub, tcs_ben_area area "+
                   "where prog.CODIGO = sub.PRG_CODIGO "+
                   "and area.CODIGO = prog.AREA_CODIGO "+
                   "and sub.CODIGO in (select bot.SBPR_CODIGO "+
                   "      from tcs_ben_beneficio_otorgado bot "+
                   "      where bot.USUARIO_CREA = '"+criterea.getNombreUsuario()+"' ";
                   
    String strDesde = criterea.getDesdeVigencia();
    //if((Object)criterea.getDesdeVigencia() != null && (Object)criterea.getHastaVigencia() != null)
    if(!criterea.getDesdeVigencia().equals("") && !criterea.getHastaVigencia().equals(""))
    {
      query += " AND bot.FECHA_CREA >= to_date('"+criterea.getDesdeVigencia()+"','rrrr-mm-dd') and bot.FECHA_CREA < to_date('"+criterea.getHastaVigencia()+"','rrrr-mm-dd')) ";
    }else
    {
      if(!criterea.getDesdeVigencia().equals(""))
      {
        query += " AND bot.FECHA_CREA >= to_date('"+criterea.getDesdeVigencia()+"','rrrr-mm-dd')) ";
      }else
      {
        if(!criterea.getHastaVigencia().equals(""))
        {
          query += " AND bot.FECHA_CREA <= to_date('"+criterea.getHastaVigencia()+"','rrrr-mm-dd')) ";
        }else
        {
          query += ") ";
        }
      }
    }
    
    if((Object)criterea.getCodeSubPrograma() != null)
    {
      query += " AND sub.CODIGO = "+criterea.getCodeSubPrograma()+" ";
    }
    
    if((Object)criterea.getCodePrograma() != null)
    {
      query += " AND prog.CODIGO = "+criterea.getCodePrograma().longValue()+" ";
    }
    
    query += " ORDER BY area.NOMBRE, prog.NOMBRE";
    //////////////////////
    //System.out.println(query);                      
    ResultSet rs = null;
    int iContSecr = 0;
    String strAntSecr = "";
    int iContProg = 0;
    String strAntProg = "";
    int iContBen = 0;
    int iContCant = 0;
    
    ArrayList report = new ArrayList();
    rs = cf.getRecordsRset(query,null,conn);
    AuditoriaVO objAuditoriaVO = null;
    while (rs.next()) 
    {
        objAuditoriaVO = new AuditoriaVO();
        
        objAuditoriaVO.setColumna1(rs.getString("SECRETARIA"));
        objAuditoriaVO.setColumna2(rs.getString("NOMPRO"));
        objAuditoriaVO.setColumna3(rs.getString("NOMSUB"));
        objAuditoriaVO.setColumna4(rs.getString("CANTIDAD"));
        
        if(!strAntSecr.equals(rs.getString("SECRETARIA")))
          iContSecr+=1;
        
        if(!strAntProg.equals(rs.getString("NOMPRO")))
          iContProg+=1;
          
        iContBen +=1;
        
        iContCant += rs.getInt("CANTIDAD");
          
        strAntSecr = rs.getString("SECRETARIA");
        strAntProg = rs.getString("NOMPRO");
        
        report.add(objAuditoriaVO);
        objAuditoriaVO = null;        
    }
    if(iContCant != 0 && iContBen != 0)
    {
      objAuditoriaVO = new AuditoriaVO();
      
      objAuditoriaVO.setColumna1("TOTAL: "+String.valueOf(iContSecr));
      objAuditoriaVO.setColumna2("TOTAL: "+String.valueOf(iContProg));
      objAuditoriaVO.setColumna3("TOTAL: "+String.valueOf(iContBen));
      objAuditoriaVO.setColumna4("TOTAL: "+String.valueOf(iContCant));
      report.add(objAuditoriaVO);
    }
    rs.close();
    return report;
  }
  
  public String getDescriptionUser(String strNumberDocument) throws SQLException
  {
    String strDescription = null;
    String query = "SELECT descripcion FROM paoyer.tcs_usuario "+
                   "WHERE nombre = '"+strNumberDocument+"'";
    ResultSet rst = null;
    
		rst = cf.getRecordsRset(query,null,conn);
    if(rst.next())
    {
      strDescription = rst.getString("descripcion");
    }
    rst.close();
    return strDescription;
  }
  

  
  public Connection getConn()
  {
    return conn;
  }
  
}